package com.jack.leetcode.eachproblem_2020;

import java.util.HashMap;
import java.util.Map;

public class 四数相加2 {

    public int fourSumCount(int[] A, int[] B, int[] C, int[] D) {
        int n = A.length;
        int result = 0;
        Map<Integer, Integer> map = new HashMap<>();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < n;j++){
                int sumAB = A[i] + B[j];
                if(map.containsKey(sumAB)){
                    map.put(sumAB, map.get(sumAB) + 1);
                }else{
                    map.put(sumAB, 1);
                }
            }
        }

        for(int k = 0;k < n;k++){
            for(int l = 0;l < n;l++){
                int sumCD = 0 - C[k] - D[l];
                if(map.containsKey(sumCD)){
                    result += map.get(sumCD);
                }
            }
        }
        return result;
    }
}
